Creation of Solid Geometry Surface Models for 3D-Printing, Shape Optimization, Topology Optimization (PDE-Toolbox), and Dynamic Simulation (Simscape Multi-Body)

Part D - Boolean and Stack Operations for Solid Geometries

Tim Lueth - Professor at Technical Universiity of Munich - Germany - 2019
Set Java Heap to 2048 MByte

5 Boolean and Stack Operations for Solid Geometries

5.1 Stack Operations for Solid Geometries

5.1.1 Put Solid Geometries on the Stack

SGofCPLcommand('b 4 4, h 4, enter');
SGofCPLcommand('b 4 4, h 4, enter')
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3')
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, enter');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, enter')
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, enter, b 2 2,h 2,enter');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, enter, b 2 2,h 2,enter')

5.1.2 Duplicate Solid Geometries on the Stack

SGofCPLcommand('b 4 4,h 4,dup');
SGofCPLcommand('b 4 4,h 4,dup')
SGofCPLcommand('b 4 4,h 4,dup, dup');
SGofCPLcommand('b 4 4,h 4,dup, dup')

5.1.3 Swap Solid Geometries with the top of the Stack

SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3')
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap')

5.1.4 Clear Current Solid or Stack Solid

SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap, dup');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap, dup')
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap, dup, clear ');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap, dup, clear')
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap, dup, clear 1');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap, dup, clear 1')
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap, dup, clear 2');
SGofCPLcommand('b 4 4,h 4,enter,b 3 3, h 3, swap, dup, clear 2')

5.2 Concatenating Solid Geoemtries

SGofCPLcommand('d 4 6 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2');
SGofCPLcommand('d 4 6 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2')
SGofCPLcommand('d 4 6 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2, cat');
SGofCPLcommand('d 4 6 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2, cat')
SGofCPLcommand('d 4 6 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2, cat, cat');
SGofCPLcommand('d 4 6 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2, cat, cat')
SGofCPLcommand('d 4 2 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2, cat, cat');
SGofCPLcommand('d 4 2 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2, cat, cat')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, cat');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, cat')

5.3 Boolean Operations for Solid Geometries

5.3.1 Boolean Addition of Solid Geometries

SGofCPLcommand('d 4 2 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2, add, add');
SGofCPLcommand('d 4 2 0 ,h 4,enter,d 3 3 2 0, h 3, enter, b 2 2,h 2, add, add')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, add');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, add')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, +');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, +')

5.3.2 Boolean Subtraction of Solid Geometries from Stack

SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, sub');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, sub')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, -');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, -')

5.3.3 Boolean Subtraction of Stack Geometries from Current Geometry

SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rem');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rem')

5.3.4 Boolean Intersection of Solid Geometries and Stack

SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, isec');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, isec')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, &');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, &')

5.4 Spatial Arrangement of Solid Geometries relative to Stack Solids

SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel ontop 5');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel ontop 5')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel under');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel under')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel behind');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel behind')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel infront');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel infront')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel left');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel left')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel right');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel right')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel center');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel center')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel alignbottom');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel alignbottom')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel alignbehind');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel alignbehind')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel aligninfront');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel aligninfront')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel alignleft');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel alignleft')
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel alignright');
SGofCPLcommand('b 4 4,h 4,enter,c 3, h 8, move 0 0 -2, rel alignright')